草庐IT

c++ - 将 std::vector 复制到 qvector

全部标签

c++ - SetConsoleMode() 和 ENABLE_VIRTUAL_TERMINAL_PROCESSING?

根据MSDN,SetConsoleMode()函数的dwMode参数应允许ENABLE_VIRTUAL_TERMINAL_PROCESSING(0x04)。我的VisualStudio(2013UltimatewithUpdate5)未定义该常量。它只有这两个:#defineENABLE_PROCESSED_OUTPUT0x0001#defineENABLE_WRAP_AT_EOL_OUTPUT0x0002是否删除了ENABLE_VIRTUAL_TERMINAL_PROCESSING?我正尝试像这样使用它,以便我可以使用VT100转义序列控制光标。HANDLEhOut=GetStdHa

c - 如何检查数组中是否存在(子)数组

我需要介于strstr和memcmp之间的东西来检查内存范围内是否存在数组。例如我想要实现的目标:BYTEa[]={0x01,0x02,0x03,0x04};BYTEb[]={0x02,0x03};if(mem_in_mem(a,b,4*sizeof(BYTE))==0){printf("bisinmemoryrangeofa\n");}有什么想法可以让我做这样的事情吗?(应该适用于Windows) 最佳答案 mem_in_mem函数应该采用两个数组的大小。这是一个简单的实现:#includevoid*mem_in_mem(cons

创建文件夹/目录的跨平台方法?

有没有办法使用C语言“在代码中”创建跨平台的文件夹/目录?还是我必须使用预处理器来说明要使用哪种方法? 最佳答案 你需要一个#define来做到这一点。为了让您的代码看起来干净,您需要使用一个定义Linux函数的函数,以便在针对Windows进行编译时将其转换为等效的Windows函数。在源文件的顶部,您将在Windows特定部分中找到它:#include#definemkdir(dir,mode)_mkdir(dir)然后你可以像这样调用这个函数:mkdir("/tmp/mydir",0755);以下是一些可能有用的其他内容:#d

c++ - SetPixelFormat() 中的第三个参数对于 OpenGL 上下文创建有什么意义?

这个问题在这里已经有了答案:WhatisthePIXELFORMATDESCRIPTORparameterinSetPixelFormat()usedfor?(1个回答)关闭5年前。在Windows上创建OpenGL上下文之前,我们需要为Window的设备上下文调用SetPixelFormat。其函数原型(prototype)如下:BOOLWINAPISetPixelFormat(HDChdc,intiPixelFormat,constPIXELFORMATDESCRIPTOR*ppfd);当创建一个固定的函数上下文时,我们通过使用我们想要的像素格式调用ChoosePixelForma

c++ - 在 wcscpy_s 之后读取字符串的字符时出错

wcscpy_s函数有问题。在wcscpy_s返回后,我的函数的参数(stringOne和stringTwo)不可读。这是显示问题的简单演示。voidtestFunc(LPCWSTRstringOne,LPCWSTRstringTwo){wchar_t*defaultVal=L"Default";wchar_ttmp[100];intlenBefore=wcslen(stringOne);//Worksautoresult=wcscpy_s(tmp,sizeof(tmp),defaultVal);intlen=wcslen(tmp);intlen2=wcslen(stringOne);

c# - 在 Windows 中如何知道复制是否完成?

我正在编写一个监听位置(最好是远程位置)的工具,如果创建了新文件夹或文件,它会将其下载到本地位置。目前我正在使用FileSystemWatcher监听远程文件夹,当创建一个新的文件夹/文件时,我会启动一个计时器,如果计时器达到X分钟,它就会开始将其复制到本地。在“watched”文件夹中创建新文件夹或文件会触发FileSystemWatcher.Changed但如果有很多子目录并且如果有大文件复制到watched文件夹,它有时会失败,它只会检测复制开始时它,我的计时器可以完成直到它完成。所以:我有3台远程计算机/位置,A、B、CA开始复制一些文件夹/文件到B并且C听B。C如何使用或不使

c - 调用 free 后内存使用量不会减少

我有一个使用C的WebSocket服务器,它将在Windows上作为后台进程运行。并且这个过程将接受包含大图像数据(base64格式)的请求。每次收到请求时,都会使用malloc分配内存。并在请求执行后释放。但是当我检查任务管理器时,内存使用并没有减少。此外,当我发送另一个请求时,会分配额外的内存。我的问题是,为什么进程没有释放分配的内存或者重新使用之前分配的内存? 最佳答案 free的底层实现在不同平台上有所不同,但您所看到的很可能是由于惰性内存分配/取消分配。您的操作系统(或内存管理例程)知道您刚刚释放的内存,但由于您的程序很可

c - _stat 在网络目录上失败

我的程序通过LAN将文件从我的Windows笔记本电脑复制到我的Windows桌面。我使用资源管理器中的拖放来提供源和目标。来源是:C:\Paul目的地是:\\SERVER\Paul但是,_stat(dst,&dst_statbuf)失败,-1和errno设置为ENOENT(文件未找到)。请注意,从资源管理器中拖放提供的路径是正确且存在的,在资源管理器中我可以看到目标目录并可以打开文件,因此权限似乎没问题。有没有人知道为什么_stat失败了? 最佳答案 找到问题了。在stat64.c(VC2008)中有奇怪的注释:/*rootdir

c - Windows - 在重叠 I/O 进行时调用 CloseHandle() 是否安全?

我有一个程序有多个线程,需要使用同一个句柄(它是用FILE_SHARE_READ打开的)来写。如果一个线程关闭句柄而另一个线程当前正在进行I/O(在我的例子中是WriteFile),会发生什么情况?CloseHandle是否会阻塞直到写入完成?MSDN文档似乎很少涉及此主题。 最佳答案 根据I/O离完成有多近,它可以正常完成或被取消。或者,如果内核文件对象的使用计数不为零(例如使用了DuplicateHandle()),则这些操作可以正常进行,直到另一个句柄也关闭为止。CloseHandle()可能会阻塞,但如果你真的想等待挂起的I

c - 如何在 C 中读取或捕获 Ctrl+某个键或 Alt+某个键?

例如,当按下Ctrl键与任何其他键(或者可能是Alt键)的某种组合时,我想做一些事情。然后从标准输入如何在C程序中读取该组合键作为输入。我尝试使用简单的getchar()来了解这些组合的ASCII值。但它是一些1到25和一些组合键的其他值。是否有任何标准库函数来读取它们。不要问我你为什么要那样做。编辑:我的平台是Windows上的TurboC。 最佳答案 简短的回答:以特定于平台的方式。长答案:C的输入/输出概念是流标准输出和标准输入的概念。您上面提到的getchar()函数只是从标准输入流中读取。C没有任何键盘的概念,尽管键盘是一